package com.example.dao;

import com.example.domain.User;

import java.sql.Connection;
import java.util.List;

/**
 * @program: sms
 * @description:
 * @author: zhanghz001
 * @create: 2020-11-09 10:17
 **/
public interface UserDao {

    /**
     * 查询所有用户
     *
     * @return
     */
    List<User> findAll();

    /**
     * 根据id查询用户
     *
     * @param uid
     * @return
     */
    User findById(String uid);

    /**
     * 添加
     *
     * @param user
     */
    void save(User user);

    /**
     * 更新
     *
     * @param user
     */
    void update(User user);

    /**
     * 根据id删除
     *
     * @param uid
     */
    void delete(String uid);

    /**
     * 使用登录名和密码查询用户
     *
     * @param loginName
     * @param password
     * @return
     */
    User findByLoginNameAndPassword(String loginName, String password);

    /**
     * 支持事务的添加
     *
     * @param user
     */
    void save(Connection connection, User user);
}

